草庐IT

php - 无法将类实例传递给构造函数

全部标签

ruby - 为什么在 Ruby 中存在两种访问模块函数的方式?

moduleAdefself.funcputs"func"endend>>A.funcfunc>>A::funcfunc为什么.和::都存在?为什么不仅是.? 最佳答案 作用域解析运算符(::)可以解析常量、实例方法和类方法,因此只要我们在正确的位置查找,我们就可以将该运算符用于基本上任何方法。此外,由于方法“func”被定义为模块A的类方法(通过self.func,类似于“静态”方法)它直接属于模块(即本身是一个对象)所以它可以用点运算符调用,模块作为接收者。请注意,模块A的实例对“func”没有任何可见性,因为它是一个类方法:a

ruby-on-rails - 无法安装乘客模块

我正在尝试为Rails应用程序配置passenger和Nginx。我在执行乘客命令时遇到编译错误。ruby版本:ruby2.3.1p112(2016-04-26修订版54768)[x86_64-linux]Rails版本rails4.2.6错误信息:-#passenger-install-nginx-module/usr/local/rvm/rubies/ruby-2.3.1/lib/ruby/2.3.0/rubygems/specification.rb:2158:in`method_missing':undefinedmethod`this'for#(NoMethodError)f

ruby - 为什么mac下Ruby下有很多 "fsevent_watch"的实例?

现在我有21个“fsevent_watch”实例,其父进程和进程组是“ruby”。我正在开发一个Rails项目,但目前没有任何项目在运行。我之前启动的服务器是使用cntrl+C关闭的。我在Mac上。它是如何创建的?ruby应用关闭后不应该关闭吗? 最佳答案 这是由在您的Rails应用程序后台运行的spring服务器引起的。您可以通过以下方式检查spring状态,springstatus然后,停止spring服务器,springstop这将终止/关闭您看到的所有事件进程。 关于ruby-为

c - Ruby 的最大函数顺序如何重复?

我一直在看maxmethod在Ruby的Enumerable混合(v2.4.1)。这是一个相当简单的方法,但是当存在重复项时它如何排序项目有点令人困惑。例如:x=[1,2,3,4,5,6,7,8,9]x.max{|a,b|a%2b%2}=>110.times{|y|px.max(y){|a,b|a%2b%2}}[][1][1,7]#whyis7thenextelementafter1?[3,1,5]#whynomore7?[7,3,1,5]#7isnowfirst[9,7,3,1,5][9,7,3,1,5,6][9,7,3,1,5,4,6][9,7,3,1,5,2,4,6][9,7,5

ruby - 无法在 ruby​​ 2.1.2 下安装 ruby​​-debug-ide gem

我正在尝试在ruby​​2.1.2下安装ruby​​-debug-idegem。这是为了在Rubymine中进行调试。它适用于ruby​​1.9.3但不适用于此版本。这是错误:1.3.5/lib/debugger/ruby_core_source/ruby-2.1.2-p95/***internal.h:209:error:expected‘;’,‘,’or‘)’before‘x’***这是输出。我希望能够以某种方式理解或调试它。顺便说一句,快速修复也很棒:-)Fetching:ruby-debug-ide-0.4.22.gem(100%)Buildingnativeextension

ruby - 如何知道实例变量何时在 Ruby 中设置

有什么方法可以覆盖Ruby中实例变量的设置吗?假设我设置了一个实例变量:@foo="bar"我可以拦截它并做一些事情吗(例如记录它或放置)我想,我正在尝试覆盖所有类型的赋值运算符。这甚至可以做到吗?到目前为止,我想到的最好的是:classModuledefattr_log_accessor(*symbols)symbols.each{|symbol|module_eval("def#{symbol}()@#{symbol};end")module_eval("def#{symbol}=(val)@#{symbol}=valputs\"#{symbol}haschanged\"end")

ruby - 如何将字符串 "*.*"作为命令行参数传递给 ruby​​?

代码:#test_argv.rbputs"length:#{ARGV.length}"ARGV.eachdo|a|puts"Argument:#{a}"end如果我在调用上述方法时提供字符串"*.*"(带引号或不带引号),我将得到以下输出:C:\test>test_argv*.*length:5Argument:afile.TXTArgument:bfile.TXTArgument:cfile.TXTArgument:dfile.TXTArgument:somethingelse.TXT即c:\test中的文件列表。其他值,如"s*.*"返回somethingelse.TXT,正如您在

ruby - 你能在渲染过程中将 ruby​​ 对象传递给 haml 吗?

我正在尝试创建一个haml模板,该模板使用我的ruby​​应用程序中的一些数据来填充一些内容。是否可以将参数传递给haml以使其正确呈现?以下是我获取haml模板并呈现它的方式:template=File.open('path/to/template.haml')html=Haml::Engine.new(template.read).render那么,是否可以将对象从本地Ruby脚本传递到模板文件中,以便正确呈现页面?或者,我可以让haml文件拉入对象吗?如果这不起作用,我唯一的其他想法是将模板构建为本地字符串,这对我来说似乎更乏味。那么,是否有一种不同的编码模式可以更有效地完成这项

ruby-on-rails - 无法使用 Capistrano 和 RVM 部署 Rails 应用程序

我有一个使用Capistrano部署的Rails应用程序。我在服务器上安装了RVM,因为我想使用更新版本的Ruby,并将其添加到我的deploy.rb文件中(根据我发现的各种说明):$:.unshift(File.expand_path('./lib',ENV['rvm_path']))require'rvm/capistrano'set:rvm_ruby_string,'1.9.2'set:rvm_type,:user当我运行capdeploy时,会发生这种情况:[staging.example.com]executingcommand**[out::staging.example.

ruby - 将构造函数参数转换为实例变量

这个问题在这里已经有了答案:关闭11年前。PossibleDuplicate:Idiomaticobjectcreationinruby很多时候我有一个initialize方法,看起来像这样:classFoodefinitializebar,buz,...@bar,@buz,...=bar,buz,...endend有没有办法用一个简单的命令来做到这一点,比如:classFooattr_constructor:bar,:buz,...end其中的符号代表实例变量的名称(具有attr_accessor、attr_reader、attr_writer的精神/风格)?我想知道是否有内置的方式